package com.whfc.wxmp.api.quality.service;

import com.whfc.common.result.ListData;
import com.whfc.common.result.PageData;
import com.whfc.common.result.PageVO;
import com.whfc.entity.param.check.CheckSearchParam;
import com.whfc.quality.dto.QualityTaskExecDTO;
import com.whfc.quality.param.QuailTaskCompleteParam;
import com.whfc.quality.param.QualityTaskReportParam;

import java.util.Date;

/**
 * @Description 检查任务
 * @Author hw
 * @Date 2021-05-18 10:00
 * @Version 1.0
 */
public interface WxQualityTaskService {


    /**
     * 检查记录列表（分页）
     *
     * @param phone
     * @param deptId
     * @param report
     * @param startTime
     * @param endTime
     * @param pageSize
     * @param pageNum
     * @return
     */
    PageData<QualityTaskExecDTO> list(String phone, Integer deptId, Integer report, Date startTime, Date endTime, Integer pageSize, Integer pageNum);

    /**
     * 检查记录列表
     *
     * @param phone
     * @param deptId
     * @param report
     * @param startTime
     * @param endTime
     * @return
     */
    ListData<QualityTaskExecDTO> list(String phone, Integer deptId, Integer report, Date startTime, Date endTime);

    /**
     * 排查上报
     *
     * @param param
     * @param phone
     */
    void execAdd(QualityTaskReportParam param, String phone);

    /**
     * 需要处理的任务
     *
     * @param phone
     * @param deptId
     * @param pageSize
     * @param pageNum
     * @return
     */
    PageData<QualityTaskExecDTO> meList(String phone, Integer deptId, Integer pageSize, Integer pageNum);

    /**
     * 完成任务
     *
     * @param param
     */
    void execComplete(QuailTaskCompleteParam param);

    PageVO<QualityTaskExecDTO> page(CheckSearchParam param, String phone);
}
